The rapid growth in the use of digital computing machines created a need for a data communications device which would enable digital computing machines to communicate with each other over standard voice-grade telephone lines. The answer to this need came in the form of a data modulator-demodulator device, commonly called a modem.
Modems are frequently required to be able to accommodate a variety of modulation schemes, bit rates, and data formats, and to operate in either a half-duplex or full-duplex mode. Also, many modern intelligent modems provide automatic answering of incoming calls, and both dual tone multiple frequency ("tone dialing") and rotary pulse dialing of user-selected telephone numbers. These modulation schemes, bit rates, data formats, and other features are often referred to as operating parameters. A particular combination of operating parameters may be conveniently referred to as a configuration profile.
A typical modem will have a read only memory (ROM) with a factory setting of some of the operating parameters, commonly called default settings, but not a complete configuration profile. A ROM is programmed by the manufacturer and "remembers" the default settings even when power is turned off for an extended time. The remainder of the operating parameters are set by using internal and external switches. The internal switches are usually not easily accessible. The typical modem will also allow the user, by using his data terminal, to override the default settings and command the modem to use another partial set of operating parameters, commonly called active parameters, which are stored in a volatile memory. A volatile memory will "forget" its contents if the power is turned off. Therefore, some modems have a battery which provides power to the memory for a short time in the event that the main power is turned off. The remainder of the operating parameters are again set by the same internal and external switches.
Neither the ROM nor the volatile memory stores a complete configuration profile. The operating parameters normally set by internal switches are ones which are unlikely to change often and/or are determined by the other equipment with which the modem is used. Some of the operating parameters which are typically set by internal switches are: whether the modem responds to the data terminal ready signal; whether the modem sends result and error codes as English words, numbers, or not at all; whether or not the modem echoes the data back to the data terminal; whether or not the modem will answer an incoming call; whether or not the modem will advise the dta terminal if the carrier is present on the telephone line; what type of telephone circuit the modem is connected to; and whether the modem is in an intelligent or dumb mode.
Some of the operating parameters which are typically set by external switches are: manual reset of the modem; high speed or low speed communications; self-test of the modem-to-telephone line interface circuits; testing of the device connected to the other end of the telephone line.
Some of the operating parameters which are typically stored in the read only memory as factory default settingg are: a modem operating speed of 0-300, 600, 1200 or 2400 bits per second; 7 or 8 bits per character; odd, even, or no parity; number of stop bits per character; selection of automatic answer; the number of rings before the modem will pick up the telephone line; tone or pulse dialing; whether or not a line feed signal is sent after a carriage return signal; how long the modem waits for a dial tone before dialing a desired telephone number; how long the modem will wait for a carrier signal after it has dialed the telephone number; whether or not, and how long, to pause during dialing; how long the modem will wait after the carrier disappears before it hangs up the telephone line; speaker volume; and other options.
In many modems, many of these operating parameters can be temporarily changed by commands from the data terminal. Assume that a modem could store a complete configuration profile in the ROM and also in the volatile memory. Also assume that a user has stored a desired configuration profile in the volatile memory. If the AC power is removed for an extended time, the battery backup will fail. Also, batteries have a limited lifetime and will permanently fail after some period of time. If the AC power is removed for an extended time, or if the battery backup has failed from aging and the AC power is removed for any period of time, the volatile memory will fail and the user's desired configuration profile will be lost.
The default setting in the ROM would still exist, but the user may have to make numerous program and switch setting changes on his data terminal, which may be a computer, in order to match the default settings so that the data terminal and the modem can communicate. The user would then command the modem to change its operating parameters from the default setting to the desired operating parameters. However, the data terminal is now set for the default settings and the modem is set for the desired operating parameters. Since the parameters are different, the data terminal and the modem cannot communicate. The user must therefore now reverse the numerous program and switch setting changes on his data terminal to change it back to the desired operating parameters so that the data terminal and the modem can communicate. This is clearly a time-consuming and tedious procedure.
A typical modem therefore suffers from two disadvantages: some of the operating parameters are selected by using switches, some of which are not conveniently accessible; and the programmable operating parameters which are stored in a volatile memory will be lost if the battery backup fails or if the AC power is removed for an extended period of time. There is therefore a need for a modem which allows a configuration profile to be programmed using only a data terminal and without using any switches, and which stores a configuration profile in a programmable memory which is nonvolatile and therefore does not forget the configuration profile when power is removed, even for an extended time.
A modern intelligent modem is a digital computing machine, containing a microprocessor which controls many operations, and is therefore, to some degree, sensitive to voltage fluctuations on the output of the modem power supply. A transient on the AC power line which is severe enough to affect the output of the modem power supply may disrupt the orderly operation of the microprocessor, thereby causing the modem to generate erroneous data, to change the configuration profile, to become locked up (unresponsive to commands), or to cease operation. There is therefore a need for a modem which will respond in a predictable manner to transients which are severe enough to adversely affect its operation.
A modem is also a data communications device. Therefore, one port of a modem is connected to a telephone line and the other port is connected to a data terminal, typically by an RS-232C cable in a length suited to meet the particular user's equipment placement. The telephone line and the RS-232C cable act as antennas and couple electrical noise into the modem. A modem will have some filtering to prevent this noise from being coupled to the internal modem wiring, but a particularly intense burst of noise may overwhelm the filters. This is frequently the case with a discharge of static electricity. In such a case the orderly operation of the microprocessor and/or other sensitive components may be disrupted, thereby causing the modem to generate erroneous data, to change the configuration profile, to become locked up (unresponsive to commands), or to cease operation.
A typical manner of correcting such problems is to turn off the AC power to the modem, wait until the modem power supply has discharged, and then turn the AC poewr on again. This is a time-consuming procedure, especially if the modem reverts to the default setting if power is turned off. Also, in some installations, such as modems installed in computer peripheral expansion slots, there is no convenient manner of turning off the AC power to the modem. In the event of lockup for these modems, the entire computer must be turned off to allow the system to recover. There is therefore a need for a modem which will respond to a particular signal even in cases where the modem is locked up and otherwise unresponsive to commands issued by the data terminal.
A modern intelligent synchronous and asynchronous modem operates in one of three modes; a synchronous communications mode in which the modem acts as a data communications device; an asynchronous on-line communications mode in which the modem again acts as a data communications device; and an asynchronous command mode in which the modem interprets data from the data terminal as commands to the modem.
While the modem is in the asynchronous command mode the user uses the data terminal or computer to select the operating parameters, perform call set up functions such as dialing, answering, etc., and to select one of the two communication modes. Thereafter, the operation of the modem is controlled by the data terminal. A typical method of allowing the data terminal to control the modem operation is by using the data terminal ready (DTR) signal from the data terminal. If the DTR signal is active (true), the data terminal is either sending data to the modem for the modem to transmit over the telephone line, or is accepting data from the modem which the modem has received over the telephone line. If the DTR signal is inactive (false), the data terminal is sending a command to the modem. Other appropriate signals from the data terminal may also be used for this purpose.
If the DTR signal is used, then if the data terminal ready (DTR) signal is inactive, the modem responds by going into the asynchronous command state. If the DTR signal is active, the modem reponds by switching to the user-selected first or second mode, acts as a data communications device, and is otherwise unresponsive to commands from the data terminal.
However, in some applications the data terminal may erroneously transmit data at a time when the DTR signal is inactive. When this occurs, the modem interprets the data as a command. If the data corresponds to a command to change the operating parameters the modem may be forced into a state in which it can no longer communicate with the data terminal or computer to which it is attached until the correct operating parameters are reprogrammed. This can be time-consuming and can be a major problem if the modem is used in a commercial environment where the data terminal operator is not trained or equipped to program modems. Therefore, a service technician may have to be called to reprogram the proper operating parameters into the modem.
A typical method of preventing this from happening is to have a switch which prevents the modem from responding to any program commands from the data terminal. This switch is often called a "dumb mode" switch. However, switches are subject to contact corrosion and to being changed inadvertently.
Furthermore, it is not desirable to be able to place the modem in the dumb mode by a program command from the data terminal since, once the command is given, the modem will ignore all further commands, including a command to exit from the dumb mode. The modem would therefore be permanently locked in the dumb mode and it would be impossible to make any necessary changes in the operating parameters in the future unless it will exit the dumb mode when the power is turned off.
There is therefore a need for a modem which has a provision for placing the modem into the dumb mode without using switches which may be inadvertently changed.